package com.wx.mall.sys.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wx.mall.common.api.BatchProcessingVo;
import com.wx.mall.sys.entity.CarriageTemplate;
import com.wx.mall.sys.vo.req.CarriageTemplatePageReqVO;
import com.wx.mall.sys.vo.req.CarriageTemplateReqVO;
import com.wx.mall.sys.vo.resp.CarriageTemplateRespVO;

import java.util.List;

/**
 * <p>
 *  运费模板服务类
 * </p>
 *
 * @author ljl
 * @since 2020-03-20
 */
public interface ICarriageTemplateService extends IService<CarriageTemplate> {
    /**
     * 分页查询所有未删数据
     *
     * @param vo 分页vo
     * @return
     */
    Page<CarriageTemplate> pageInfo(CarriageTemplatePageReqVO vo);

    /**
     * 分页查询所有未删数据
     *
     * @return
     */
    List<CarriageTemplateRespVO> availableInfos();

    /**
     * 分页查询所有数据
     *
     * @param vo 分页vo
     * @return
     */
    Page<CarriageTemplate> pageList(CarriageTemplatePageReqVO vo);

    /**
     * 根据id软删除数据
     */
    void softDeleteById(Integer id);
    /**
     * 根据ids软删除数据
     */
    void batchOperation(BatchProcessingVo vo);

    /**
     * 根据id获取单条数据
     */
    CarriageTemplateRespVO findById(Integer id);

    /**
     * 根据id更新数据
     */
    void updateById(CarriageTemplateReqVO vo);

    /**
     * 增加新数据
     */
    void add(CarriageTemplateReqVO vo);

    /**
     * 根据id更新数据可用状态
     */
    void updateEnabledById(Integer id , Integer enabled);
}
